In testing data network elements, such as network routers and switches, it is desirable to determine the time that it take a network router or switch to install a new routing or forwarding table entry and to start forwarding traffic using the newly installed entry. The protocol used to distribute routing information among autonomous systems in Internet protocol networks is called border gateway protocol (BGP). The routing data structure populated using routing information distributed using BGP is called the routing information base (RIB). Testing the time it takes a router to install and begin using an advertised route is referred to as RIB-in convergence testing and is defined in IETF RFC 7747, the disclosure of which is incorporated herein by reference in its entirety.
When performing route convergence testing, such as RIB-in convergence testing, route convergence times can vary depending on how switches and routers buffer traffic during a convergence event. Such buffering can skew test results, since delivery of buffered traffic is delayed and subsequently delivered in a burst. Delivering traffic in a burst can cause the route to appear to be converged, even though some of the transmitted traffic is still not being forwarded to the receive ports. IETF 7747 RIB-in convergence testing does not account for variations in packet transmission rates caused by burst transmissions during convergence testing.
Another problem with route convergence testing is that network switches and routers may be configured with thousands or millions of different routes, and route convergence test results may be reported on a per-route basis. Reporting results of convergence testing on a per-route basis for large numbers of routes can make the results difficult to interpret, especially when thousands or even millions of routes are being tested. Individual route convergence times may be less important than aggregate route convergence times when assessing the overall performance of a router.
Yet another problem associated with route convergence testing is that running multiple iterations of a test can be time and labor intensive. For example, it may be desirable to perform route convergence testing multiple times where a test iteration ends and restarts once convergence is achieved or a short time thereafter. If the test engineer is required to configure the first test iteration, run the first test iteration, wait until the first test iteration finishes, and then re-run the first test iteration, the time and labor required to perform multiple test iterations can be undesirably high.
Accordingly, there exists a need for improved methods, systems, and computer readable media for route convergence testing.